This invention relates to a programmable controller, CPU units and special-function modules of which it is composed and a method of doubling up these components.
Programmable controllers (PLCs) are being used as control devices in factory automation (FA). Such PLCs are structured as an appropriate combination of a plurality of units such as a power source unit for supplying electrical power, a CPU unit for controlling the PLC as a whole, an input unit for inputting signals from switches and sensors positioned strategically for the FA devices, an output unit for outputting control signals to actuators or the like, and a communication unit for connecting to a communication network.
The control of a PLC by its CPU unit includes accepting signals inputted through the input unit into the I/O memory of the CPU unit (“IN-refresh”), carrying out a logical calculation according to a user program preliminarily registered in a user program language such as a ladder language (“calculation”), writing the result of such calculations in the I/O memory for transmitting it to the output unit (“OUT-refresh”) and thereafter exchanging data through the communication unit with the other PLCs on the same communication network or through communication ports provided to the CPU unit with external devices (“peripheral processing”) in a cyclic mode of operation. Operations of the IN-refresh and OUT-refresh are sometimes carried out together.
The CPU unit is usually provided with a RAM for storing user programs, a ROM for storing system programs, a MPU for carrying out calculations of the type described above, as well as RAMs (common, IO and work memories) to be used when these calculations are carried out. On the other hand, there are CPU units having a special-function module removably mounted to it. Such a special-function module may be variously referred to as an inner board or a sub-board (hereinafter referred to as the inner board) and is an intelligent high-performance board, having the function of executing programs created for carrying out dedicated processes for communicating, say, with external apparatus. The control by the CPU unit can thus be made faster and the level of the control can be improved by allowing the inner board to carry out a part of the aforementioned calculation process.
In order to improve the safety and reliability of a system, it has been known to double up each of the units that form the PLC. When the CPU unit is to be doubled up, two CPU units are provided and connected together by a CPU bus. These two CPU units are basically adapted to have the same functions and carry out user programs of the same content stored in the individual CPU units.
These two CPU units are operated such that one of them will become active to carry out cyclic processes to control a FA network system by reading and writing from and into memory devices and exchanging control data (I/O data) with I/O devices of external apparatus, etc. while the other of them will be in a standby condition, carrying out the same user programs as that of the active CPU unit while in the standby condition although the results of its calculations are not reflected in the IO memory. The results of processing by the active CPU unit are received by the standby CPU unit and the memory of the standby CPU unit is thereby updated. In this way, the memories of the active and the standby CPUs are maintained so as to have the same content.
If the active one of the two CPU units fails, the other CPU in the standby condition takes the place of the failed CPU unit and resumes the actual control processes. Thus, the failure of a CPU unit does not cause the system to stop immediately and the system operation can be continued, and the reliability of the system is improved.
In the case of a system with redundancy described above, its doubled-up condition is assured by keeping the IO memories of the CPU units in identical conditions. In the case of CPU units of the aforementioned type having an inner board mounted thereto, memories inside the main bodies of the CPU units are maintained to be equal but it has not been done to maintain their inner boards in the same condition.